import TYPE_IS from './type-is';
import { browserType } from './browser-type';
import Message from 'element-ui';

/**
 * @param {需要转换首字母大写的字符串} str
 */
function startUpCase (str) {
    return str.toLowerCase().replace(/( |^)[a-z]/g, L => L.toUpperCase());
};

/**
 * @param {} null
 * @deprecated {根据当前时间以及随机数生成唯一键}
 */
function randomKey () {
    return `${Date.parse(new Date())}_${Math.ceil(Math.random() * 99999)}`;
};

/**
 * @param showMsg {是否显示提示信息}
 * @description {判断是否处于离线状态}
 * @exports {以token为标识验证当前是否处于登陆状态}
 */
function isOnline (showMsg = true) {
    const token = localStorage.getItem('apiToken');
    if (!token && showMsg) {
        Message({
            type: 'warning',
            message: '您处于离线状态 请确认登录再进行操作',
            showClose: true,
            duration: 4000
        });
    }
    return token !== null;
};

const utils = {
    browserType,
    randomKey,
    startUpCase,
    isOnline,
    ...TYPE_IS
};

window.$Utils = null;

window.$Utils = utils;

export default utils;
